home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 8 / Revista CD Expert nº 08 CD1.iso / Utilitarios / Programacao / Pacific C for DOS / INCLUDE / SYS.H < prev    next >
C/C++ Source or Header  |  1995-03-08  |  3KB  |  96 lines

  1. /*
  2.  *    System-dependent functions.
  3.  */
  4.  
  5. #ifndef    _STDDEF
  6. typedef    int        ptrdiff_t;    /* result type of pointer difference */
  7. typedef    unsigned    size_t;        /* type yielded by sizeof */
  8. typedef    unsigned short    wchar_t;    /* wide char type */
  9. #define    _STDDEF
  10. #define    offsetof(ty, mem)    ((int)&(((ty *)0)->mem))
  11. #endif    _STDDEF
  12.  
  13. #ifndef    NULL
  14. #define    NULL    ((void *)0)
  15. #endif    NULL
  16.  
  17. extern int    errno;            /* system error number */
  18.  
  19. #if    defined(DOS)
  20. #ifndef    _FREEMEM
  21. #define    _FREEMEM
  22. struct freemem {
  23.     unsigned long     fr_dosmem;
  24.     unsigned long    fr_extmem;
  25. };
  26. #endif
  27. extern void    getfreemem(struct freemem *);
  28. #endif
  29.  
  30. extern int    execl(char *, char *, ...);
  31. extern int    execv(char *, char **);
  32. extern int    execve(char *, char **, char **);
  33. extern int    execle(char *, char *, ...);
  34. extern int    execvp(char *, char **);
  35. extern int    execlp(char *, char *, ...);
  36. extern int    getpid(void);
  37. extern char *    mktemp(char *);
  38. #if    defined(unix) || defined(ATDOS)
  39. extern void    sync(void);
  40. extern int    fork(void);
  41. extern int    wait(int *);
  42. extern int    getuid(void);
  43. extern int    setuid(int);
  44. extern int    kill(int, int);
  45. extern int    alarm(int);
  46. extern int    pause(void);
  47. extern void    sleep(unsigned int);
  48. extern int    setpgrp(void);
  49. extern int    getpgrp(void);
  50. #else    unix
  51. extern int    spawnl(char *, char *, ...);
  52. extern int    spawnv(char *, char **);
  53. extern int    spawnle(char *, char *, ...);
  54. extern int    spawnve(char *, char **, char **);
  55. extern int    spawnlp(char *, char *, ...);
  56. extern int    spawnvp(char *, char **);
  57. #endif    unix
  58. extern int    chdir(char *);
  59. extern int    chdrv(char *);
  60. extern int    mkdir(char *);
  61. extern int    rmdir(char *);
  62. extern char *    getcwd(char *);
  63. extern void    persist_validate(void);
  64. extern int    persist_check(int);
  65. extern char *    getdrv(void);
  66. extern char **    _getargs(char *, char *);
  67. extern int    _argc_;
  68.  
  69. #if    z80 || i8086
  70. #define    inp(p)        (*(port unsigned char *)(p))
  71. #define    outp(p,v)    (*(port unsigned char *)(p) = (v))
  72. #if    i8086
  73. #define    inpw(p)        (*(port unsigned short *)(p))
  74. #define    outpw(p,v)    (*(port unsigned short *)(p) = (v))
  75. #endif
  76. #endif
  77.  
  78. extern void *    sbrk(size_t);
  79. extern void    brk(void *);
  80. #if    _HOSTED
  81. struct _iob;
  82. extern int    _pnum(unsigned long, signed char, signed char, unsigned char, unsigned char, struct _iobuf *, unsigned char);
  83. extern int    _fnum(double, short, short, short, struct _iobuf *, short);
  84. #else
  85. extern int    _pnum(unsigned long, signed char, signed char, unsigned char, unsigned char, struct __prbuf *, unsigned char);
  86. extern int    _fnum(double, short, short, short, struct __prbuf *, short);
  87. #endif
  88.  
  89. #if    defined(ATDOS)
  90. extern int    load_driver(char *);
  91. extern int    send_message(unsigned short, unsigned short, unsigned long,
  92.             unsigned long, void *, unsigned short);
  93. extern int    get_message(unsigned short *, unsigned long *, void *,
  94.             unsigned short *);
  95. #endif
  96.